package utilities;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;


public class BDSQLiteHelper extends SQLiteOpenHelper {
	 
    
    String sqlCreateAlerta = "CREATE TABLE PEI_ALERTA(ID_ALERTA INTEGER PRIMARY KEY," +
    		"MENSAJE TEXT," +
    		"IS_ACTIVO INTEGER," +
    		"SONIDO INTEGER," +//boolean que determina si la alarma es con sonido o no
    		"VIBRAR INTEGER);";//boolean que determina si la alarma es con vibracion o no
    
    String sqlCreatePresupuesto = "CREATE TABLE PEI_PRESUPUESTO(ID_PRESUPUESTO INTEGER PRIMARY KEY," +
    		"MONTO REAL," +
    		"FECHA_INICIO TEXT," +
    		"CANTIDAD_DIAS INTEGER," +
    		"ID_ALERTA INTEGER," +
    		"FOREIGN KEY(ID_ALERTA) REFERENCES ALERTA(ID_ALERTA));";
    
    String sqlCreatePlan = "CREATE TABLE PEI_PLAN(" +
			"ID_PLAN INTEGER PRIMARY KEY," +
			"TIPO_PLAN TEXT," +
			"TARIFA_LOCAL REAL," +
			"TARIFA_EXTERNA REAL," +
			"MINUTOS_INCLUIDOS INTEGER," +
			"MENSAJES_INCLUIDOS INTERGER," +
			"COSTO_MSJ_LOCAL REAL," +
			"COSTO_MSJ_EXTERNO REAL," +
			"PROVEEDOR_SERVICIOS TEXT," +
			"SALDO_GASTADO REAL," +
			"FECHA_ULT_CALCULO TEXT," +
			"COSTO_ULT_LLAMADA REAL," +
			"MIN_RESTANTES INTEGER," +
			"MSJ_RESTANTES INTEGER," +
			"PROVEEDOR_DESTINO TEXT,"+
			"ID_PRESUPUESTO INTEGER," +
			"FOREIGN KEY(ID_PRESUPUESTO) REFERENCES PRESUPUESTO(ID_PRESUPUESTO)" +
			");";
    
    String sqlCreateLlamada = "CREATE TABLE PEI_LLAMADA(ID_LLAMADA INTEGER PRIMARY KEY," +
    		"DURACION INTEGER," +
    		"PROVEEDOR_DESTINO TEXT," +
    		"NOMBRE_CONTACTO TEXT," +
    		"FECHA DATETIME," +
    		"NUMERO TEXT," +
    		"ID_CONTACTO INTEGER," +
    		"EST_ESTADO INTEGER," +//ACTIVO o INACTIVO
    		"ID_PLAN INTEGER," +
    		"FOREIGN KEY(ID_PLAN) REFERENCES PLAN(ID_PLAN));";
    
    String sqlCreateMensaje = "CREATE TABLE PEI_MENSAJE(ID_MENSAJE INTEGER PRIMARY KEY," +
    		"CANTIDAD_DESTINATARIOS INTEGER," +
    		"LONG_MENSAJE INTEGER," +
    		"NUM_DESTINATARIO TEXT," +
    		"FECHA DATETIME," +
    		"NOM_DESTINATARIO TEXT," +
    		"CANTIDAD_MENSAJES INTEGER," +
    		"PROVEEDOR_DESTINO TEXT," +
    		"ID_CONTACTO INTEGER," +
    		"EST_ESTADO INTEGER," +//ACTIVO o INACTIVO
    		"ID_PLAN INTEGER," +
    		"FOREIGN KEY(ID_PLAN) REFERENCES PLAN(ID_PLAN));";
    
    public BDSQLiteHelper(Context contexto, String nombre,
                               CursorFactory factory, int version) {
        super(contexto, nombre, factory, version);
    }
 
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(sqlCreateAlerta);
        db.execSQL(sqlCreatePresupuesto);
        db.execSQL(sqlCreatePlan);
        db.execSQL(sqlCreateLlamada);
        db.execSQL(sqlCreateMensaje);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int versionAnterior, int versionNueva) {
        //NOTA: Por simplicidad del ejemplo aqu� utilizamos directamente la opci�n de
       
    	db.execSQL("DROP TABLE IF EXISTS PEI_ALERTA");
		db.execSQL("DROP TABLE IF EXISTS PEI_PRESUPUESTO");
		db.execSQL("DROP TABLE IF EXISTS PEI_MENSAJE");
		db.execSQL("DROP TABLE IF EXISTS PEI_LLAMADA");
		db.execSQL("DROP TABLE IF EXISTS PEI_PLAN");
 
        //Se crea la nueva version de la tabla
		 db.execSQL(sqlCreateAlerta);
	        db.execSQL(sqlCreatePresupuesto);
	        db.execSQL(sqlCreatePlan);
	        db.execSQL(sqlCreateLlamada);
	        db.execSQL(sqlCreateMensaje);
    }
}

		
//			bd.execSQL("CREATE TABLE PEI_ALERTA(" +
//											"_ID_ALERTA PRIMARY KEY AUTOINCREMENT," +
//											"MENSAJE TEXT," +
//											"IS_ACTIVO INTEGER);");//0=FALSE, 1=TRUE
//			
//			bd.execSQL("CREATE TABLE PEI_PRESUPUESTO(" +
//											"_ID_PRESUPUESTO PRIMARY KEY AUTOINCREMENT," +
//											"MONTO REAL," +
//											"FECHA_INICIO TEXT," +
//											"CANTIDAD_DIAS INTEGER," +
//											"ID_ALERTA INTEGER NOT NULL," +
//											"FOREIGN KEY(ID_ALERTA) REFERENCES ALERTA(ID_ALERTA)" +
//											");");
			
//			bd.execSQL("CREATE TABLE PEI_PLAN(" +
//											"_ID_PLAN INTEGER PRIMARY KEY AUTOINCREMENT," +
//											"TIPO_PLAN TEXT," +
//											"TARIFA_LOCAL REAL," +
//											"TARIFA_EXTERNA REAL," +
//											"MINUTOS_INCLUIDOS INTEGER," +
//											"MENSAJES_INCLUIDOS INTERGER," +
//											"COSTO_MSJ_LOCAL REAL," +
//											"COSTO_MSM_EXTERNO REAL," +
//											"PROVEEDOR_SERVICIOS TEXT," +
//											"SALDO_GASTADO REAL," +
//											"FECHA_ULT_CALCULO TEXT," +//SQLITE NO TIENE TIPO DE DATOS DATE. SE ALMACENARA EN TEXTO
//											"COSTO_ULT_LLAMADA REAL," +
//											"MIN_RESTANTES INTEGER," +
//											"MSJ_RESTANTES INTEGER," +
//											"PROVEEDOR_DESTINO TEXT,"+
//											"ID_PRESUPUESTO INTEGER NOT NULL," +
//											"FOREIGN KEY(ID_PRESUPUESTO) REFERENCES PRESUPUESTO(ID_PRESUPUESTO)" +
//											");");
			
//			bd.execSQL("CREATE TABLE PEI_LLAMADA(" +
//											"_ID_LLAMADA INTEGER PRIMARY KEY AUTOINCREMENT," +
//											"DURACION TEXT," +
//											"PROVEEDOR_DESTINO TEXT," +
//											"ID_PLAN INTEGER NOT NULL," +
//											"FOREIGN KEY(ID_PLAN) REFERENCES PLAN(ID_PLAN)" +
//											");");
			
//			bd.execSQL("CREATE TABLE PEI_MENSAJE(" +
//											"_ID_MENSAJE INTEGER PRIMARY KEY AUTOINCREMENT," +
//											"CANTIDAD_DESTINATARIOS INTEGER," +
//											"LONG_MENSAJE INTEGER," +
//											"CANTIDAD_MENSAJES INTEGER," +
//											"PROVEEDOR_DESTINO TEXT," +
//											"ID_PLAN INTEGER NOT NULL," +
//											"FOREIGN KEY(ID_PLAN) REFERENCES PLAN(ID_PLAN)" +
//											");");

